package com.ai.bitcoin.jpa.service;

import com.ai.bitcoin.jpa.entity.BccRank;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author Jason
 * @date 2018/3/29
 **/
public interface BccRankService {

    BccRank findByBccIdAndRecordState(String bccId, String recordState);

    BccRank save(BccRank bccRank);

    List<BccRank> findByRecordState(String recordState);

    void updateRank(String unPublishBatch);

    List<BccRank> findByBatchNo(String batch);

    Page<BccRank> findByRecordState(String recordState, Pageable pageable);

    List<BccRank> findByBatchNoAndRecordStateOrderByValueScoreDesc(String batch, String recordState);

    void deleteNoPublish();

    List<BccRank> findByBatchNoAndRecordStateOrderByPotentialScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordState(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByValueUpPercentDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByPotentialUpPercentDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderBySupplyScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByNeedScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByInnerScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByMoodScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderBySafeScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByFutureScoreDesc(String batch, String recordState);

    List<BccRank> findByBatchNoAndRecordStateOrderByGasScoreAsc(String batch, String recordState);

}
